package com.example.test.算法;

import java.util.Arrays;

public class 插入排序 {


    /**
     * @Description 从小到大
     * 循环开始,选择的索引数据,与之前的每个数据比较(分为两组,理论上,分为循环索引开始之前的为一组,已排序,索引之后为一组,未排序)
     * 比较之后,交换位置
     * <p>
     * 根据集合来看 i=3 开始生效
     * 第1次[4, 5, 6, 3, 2, 1]
     * 第2次[4, 5, 6, 3, 2, 1]
     * 第3次[3, 4, 5, 6, 2, 1]
     * 第4次[2, 3, 4, 5, 6, 1]
     * 第5次[1, 2, 3, 4, 5, 6]
     * @Author 寂寞旅行
     * @Date 9:42 2022/2/26
     * @Param [args]
     **/
    public static void main(String[] args) {

        int[] arr = {4, 5, 6, 3, 2, 1};
        for (int i = 1; i < arr.length; i++) {
            for (int j = i; j > 0; j--) {
                int temp;
                if (arr[j] < arr[j - 1]) {
                    temp = arr[j];
                    arr[j] = arr[j - 1];
                    arr[j - 1] = temp;
                }
            }
            System.out.println("第" + i + "次" + Arrays.toString(arr));
        }
    }
}
